package Algorithm.recursion;

/**
 * （汉诺塔问题）有三个塔A、B、C，一开始的时候，在塔A上放着n个盘子，它们自底向上按照从大到小的顺序叠放。
 * 现在要求将塔A中所有的盘子搬到塔C上，
 * 每次只能移动一次。
 * 大盘子不能放在小盘子上。
 * 让你打印出搬运的步骤。在搬运的过程中，...
 *
 * 拉勾教育版权所有：https://kaiwu.lagou.com/course/courseInfo.htm?courseId=3
 *
 * @author long
 * @date 2020-03-30 21:51
 */
public class hano {
    public static void hano(int Nums,char A,char B,char C){

              if (Nums==1){
                  System.out.println("盘子从"+A+"移动到"+C);
              }else{
                  hano(Nums-1,A,C,B);
                  System.out.println("盘子从"+A+"移动到"+C);
         /*         move(A,C);*/
                  hano(Nums-1,B,A,C);
              }


    }
   /* public static void move(char A,char C){

    }*/
    public static void main(String[] args) {
        /*Nums表示盘数， A表示开始塔A，B表示开始塔B，C表示开始塔C*/
        hano( 4, 'A', 'B', 'C');
    }

}
